From 0017d3019c8d6b5196a5aa41cdfb7b7f081c3930 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 5 Apr 2008 19:08:44 +0000 Subject: [PATCH] (Ffile_attributes) [WINDOWSNT]: Force inode be positive. --- src/dired.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/dired.c b/src/dired.c index 1a80a41633d..31b7e19ddae 100644 --- a/src/dired.c +++ b/src/dired.c @@ -1028,7 +1028,17 @@ Elements of the attribute list are: values[9] = (gid != getegid ()) ? Qt : Qnil; #endif /* BSD4_2 (or BSD4_3) */ /* Shut up GCC warnings in FIXNUM_OVERFLOW_P below. */ +#ifdef WINDOWSNT + { + /* The bit-shuffling we do in w32.c:stat can turn on the MSB, which + will produce negative inode numbers. People don't like that, so + force a positive inode instead. */ + unsigned short tem = s.st_ino; + ino = tem; + } +#else ino = s.st_ino; +#endif if (FIXNUM_OVERFLOW_P (ino)) /* To allow inode numbers larger than VALBITS, separate the bottom 16 bits. */ -- 2.30.2